/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.bar.modelo;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Dhavis
 */
@Entity
@Table(name = "bebida")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Bebida.findAll", query = "SELECT b FROM Bebida b"),
    @NamedQuery(name = "Bebida.findByIdBebida", query = "SELECT b FROM Bebida b WHERE b.idBebida = :idBebida"),
    @NamedQuery(name = "Bebida.findByClave", query = "SELECT b FROM Bebida b WHERE b.clave = :clave"),
    @NamedQuery(name = "Bebida.findByNombre", query = "SELECT b FROM Bebida b WHERE b.nombre = :nombre"),
    @NamedQuery(name = "Bebida.findByDescripcion", query = "SELECT b FROM Bebida b WHERE b.descripcion = :descripcion"),
    @NamedQuery(name = "Bebida.findByExistencia", query = "SELECT b FROM Bebida b WHERE b.existencia = :existencia"),
    @NamedQuery(name = "Bebida.findByPrecio", query = "SELECT b FROM Bebida b WHERE b.precio = :precio"),
    @NamedQuery(name = "Bebida.findByOrigen", query = "SELECT b FROM Bebida b WHERE b.origen = :origen")})
public class Bebida implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "idBebida")
    private Integer idBebida;
    @Basic(optional = false)
    @NotNull
    @Column(name = "clave")
    private int clave;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 45)
    @Column(name = "nombre")
    private String nombre;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 45)
    @Column(name = "descripcion")
    private String descripcion;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 45)
    @Column(name = "existencia")
    private String existencia;
    @Basic(optional = false)
    @NotNull
    @Column(name = "precio")
    private int precio;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 45)
    @Column(name = "origen")
    private String origen;
    @JoinColumn(name = "Venta_idVenta", referencedColumnName = "idVenta")
    @ManyToOne(optional = false)
    private Venta ventaidVenta;

    public Bebida() {
    }

    public Bebida(Integer idBebida) {
        this.idBebida = idBebida;
    }

    public Bebida(Integer idBebida, int clave, String nombre, String descripcion, String existencia, int precio, String origen) {
        this.idBebida = idBebida;
        this.clave = clave;
        this.nombre = nombre;
        this.descripcion = descripcion;
        this.existencia = existencia;
        this.precio = precio;
        this.origen = origen;
    }

    public Integer getIdBebida() {
        return idBebida;
    }

    public void setIdBebida(Integer idBebida) {
        this.idBebida = idBebida;
    }

    public int getClave() {
        return clave;
    }

    public void setClave(int clave) {
        this.clave = clave;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getExistencia() {
        return existencia;
    }

    public void setExistencia(String existencia) {
        this.existencia = existencia;
    }

    public int getPrecio() {
        return precio;
    }

    public void setPrecio(int precio) {
        this.precio = precio;
    }

    public String getOrigen() {
        return origen;
    }

    public void setOrigen(String origen) {
        this.origen = origen;
    }

    public Venta getVentaidVenta() {
        return ventaidVenta;
    }

    public void setVentaidVenta(Venta ventaidVenta) {
        this.ventaidVenta = ventaidVenta;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idBebida != null ? idBebida.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Bebida)) {
            return false;
        }
        Bebida other = (Bebida) object;
        if ((this.idBebida == null && other.idBebida != null) || (this.idBebida != null && !this.idBebida.equals(other.idBebida))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mx.itschapala.dsw2.bar.modelo.Bebida[ idBebida=" + idBebida + " ]";
    }
    
}
